package org.jeecg.modules.project.service;

import com.baomidou.mybatisplus.extension.service.IService;
import org.jeecg.modules.maps.model.param.BuildFloorQuery;
import org.jeecg.modules.project.entity.BuildResultType;
import org.jeecg.modules.project.entity.ProjectInfo;
import org.jeecg.modules.project.model.result.BimProjectBuildInfo;
import org.jeecg.modules.project.model.result.ProjectInfoResult;

import java.util.List;

/**
 * @Description: bim_project_info
 * @Author: jeecg-boot
 * @Date: 2022-11-25
 * @Version: V1.0
 */
public interface IProjectInfoService extends IService<ProjectInfo> {

    /**
     * 工程保存
     *
     * @param projectInfo
     */
    void saveProj(ProjectInfo projectInfo);

    /**
     * 根据项目查询
     * @param projectInfo
     * @return ProjectInfo
     */
    ProjectInfo findByProj(ProjectInfo projectInfo);

    /**
    * @Description: 获取项目模型包括楼栋信息
    * @returns: org.jeecg.modules.project.model.result.ProjectInfoResult
    * @Author: zdingxin
    * @Date: 2023-04-13 18:25
    */
    ProjectInfoResult getProjModel(Integer id);
    /**
    * @Description: 获取具体项目对应楼栋的贴图或构件信息
    * @Param: [projectInfoId, resultType]
    * @returns: java.util.List<org.jeecg.modules.project.model.result.BimProjectBuildResult>
    * @Author: zdingxin
    * @Date: 2023-04-13 18:25
    */
    List<BimProjectBuildInfo> getProjBuildInfos(Integer projectInfoId, BuildResultType resultType);
    List<BimProjectBuildInfo> getProjBuildInfos(BuildFloorQuery query, BuildResultType resultType);

}
